package com.storage.system.service;

import com.storage.common.core.domain.ServiceResponse;
import com.storage.common.core.page.TableDataInfo;
import com.storage.system.domain.StorageProcurementOrder;
import com.storage.system.domain.StorageUser;

/**
 * 采购/订购 订单 服务层
 *
 * @author ruoyi
 * @date 2019-08-26
 */
public interface IStorageProcurementOrderService {
    /**
     * 查询采购/订购 订单信息
     *
     * @param id 采购/订购 订单ID
     * @return 采购/订购 订单信息
     */
    public StorageProcurementOrder selectStorageProcurementOrderById(Long id);

    /**
     * 查询采购/订购 订单列表
     *
     * @param storageProcurementOrder 采购/订购 订单信息
     * @return 采购/订购 订单集合
     */
    public ServiceResponse<TableDataInfo> selectStorageProcurementOrderList(StorageUser currUser, StorageProcurementOrder storageProcurementOrder, Integer pageNum, Integer pageSize);

    /**
     * 修改采购/订购 订单
     *
     * @param storageProcurementOrder 采购/订购 订单信息
     * @return 结果
     */
    public ServiceResponse<StorageProcurementOrder> updateStorageProcurementOrder(StorageUser currUser, StorageProcurementOrder storageProcurementOrder);

    /**
     * 删除采购/订购 订单信息
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteStorageProcurementOrderByIds(String ids);

    /**
     * 代理商给下级发货
     *
     * @param storageUser
     * @param procurementOrder
     * @return
     */
    ServiceResponse<StorageProcurementOrder> agentSendOrder(StorageUser storageUser, StorageProcurementOrder procurementOrder);
}
